/********************************************************************************
 * Project Name		[JavaSE_Fundamentals]
 * File Name     	[ArrayDeclaration.java]
 * Creation Date 	[2015-01-01]
 * 
 * Copyright© ge.y.yang@gmail.com All Rights Reserved
 * 
 * Work hard, play harder, think big and keep fit
 ********************************************************************************/
package arrays;

/**
 * 数组<br/>
 * 
 * Java中的数组是一个具有相同类型元素的有序集合, 数组中每个元素的类型相同, 并且与数组声明的类型一致<br/>
 * 
 * 使用一个数组必须采取三个步骤: 声明数组, 创建数组, 初始化数组<br/>
 * 1. 声明数组: DataType[] arrayName或者DataType arrayName[], 声明数组的时候并没有给数组分配内存空间
 * <br/>
 * 
 * 2. 创建数组: 根据数组的大小为数组分配内存空间<br/>
 * Java中规定在构造数组的时候必须指定数组的长度, 语法为new DataType[size]<br/>
 * 指定一个数组大小可以有两种方式: 采用变量指定, 采用明确的数字指定<br/>
 * 由于数组长度直到运行期才被使用, 所以采用第一种方式优于第二种方式, 但采用变量指定数组大小之后, 数组的length不能再改变<br/>
 * 
 * 3. 初始化数组: <br/>
 * 静态初始化, 如int[] array = {1, 2, 3};[静态初始化必须将其元素全部初始化, 否则编译会出错]<br/>
 * 动态初始化: 如int[] array = new int[2]; int[0] = 1; int[1] = 2<br/>
 * 默认初始化: 初始化的值和成员变量初始化完全相同, 而且不论数组是成员变量还是局部变量, 数组均可默认初始化<br/>
 * 
 * 数组拥有属性length, 其只能是byte, short或int类型, 不能为long和浮点型<br/>
 * length可以为0, 数组的下标为[0,length-1], 虽然数组长度不能改变, 但是可以改变数组的内容<br/>
 * 
 * 匿名数组(Anonymous Array): new int[]{ 1, 2, 3, 4, 5 }; 作为方法的参数使用<br/>
 * 
 * @author 不落的太阳(Sean Yang aka ShortPeace)
 * @version 1.0
 * @since jdk 1.8
 * 
 */
public class ArrayDeclaration {

	// 方式1: 声明一个指定大小的数组, 数组的每个元素被初始化为0
	// 对于数组元素, 不论是基本类型的数组还是引用类型的数组, 其都会默认初始化[默认初始值和变量初始值相同].
	int[] array1 = new int[10];

	// 方式2: 声明一个带初始值的数组, 这里不可以指定数组的长度
	int[] array2 = new int[] { 1, 2, 3, 4, 5 };

	// 方式3: 声明匿名数组
	// new int[]{ 1, 2, 3, 4, 5 };
}
